#ifndef MAINWINDOW_IMPL_H
#define MAINWINDOW_IMPL_H
#include "ui_mainwindow.h"
#include "sqlitedb.h"
#include <QMainWindow>
#include <QMessageBox>
#include <QtGui/QFileDialog>

class Mainwindow : public QMainWindow {
    Q_OBJECT
public:
    Mainwindow(QWidget *parent = 0);
    //~Mainwindow();
public slots:
    /*! \fn  void slot_find()
    *   \brief  Слот вызываемый при нажатии на кнопку "Поиск"
    *
    *   Слот вызывается так же при установленной галочке "Автоматический поиск" при изменении содержимого поля ввода.
    * В слоте формируются параметры для запроса в БД, возвращенный QStringList помещается на форму как список найденных слов.
    */
    void slot_find();
    /*! \fn  void slot_findWord ( QListWidgetItem * item)
    *   \brief  Слот вызываемый двойным кликом на элементе списка
    *
    *   При двойном клике формируется уточняющий запрос, находящий подходящие переводы, соответствия аббревиатурам, в таблице БД
    * Из возвращаемого QStringList формируется отчет и выводится на форму
    */
    void slot_findWord ( QListWidgetItem * item);
   /*! \fn void slot_setType(int)
    *   \brief  При изменении направления поиска, устанавливается соответсвующее значение для глобальных переменных
    *
    *        column_name - колонка в которой производить первичный поиск
    *        table_name - таблица в которой производить поиск
    */
        void slot_findTransl ( QListWidgetItem * item);
   /*! \fn void slot_setType(int)
    *   \brief  При изменении направления поиска, устанавливается соответсвующее значение для глобальных переменных
    *
    *        column_name - колонка в которой производить первичный поиск
    *        table_name - таблица в которой производить поиск
    */
    void slot_setType(int);
   /*! \fn void slot_setAutoSearch(int)
    *   \brief  Устанавливает или снимает параметр автоматического поиска
    *
    *        Если автопоиск не включен то включает, связав сигнал от изменения текста со слотом поиска, если же
    * поиск включен, то уничтожает связь сигнала со слотом, тем самым запрещая автопоиск.
    * Так же блокируется/показывается кнопка Поиск
    */
    void slot_setAutoSearch(int);

    void slot_save();
private:
    Ui::MainWindow *ui;
    SqliteDB db;
    ///колонка в которой производить первичный поиск
    QString column_name;
    ///таблица в которой производить поиск
    QString table_name;
    ///мессаджбокс содержащий данные о программе и разработчиках
    QMessageBox *mb;
     ///мессаджбокс содержащий текст помощи
    QMessageBox *mb_help;

};


#endif // MAINWINDOW_IMPL_H

